將您的網(wǎng)站從一臺(tái)服務(wù)器遷移到另一臺(tái)服務(wù)器可能是一個(gè)困難且耗時(shí)的過(guò)程,但通過(guò)準(zhǔn)備和考慮,它可以順利進(jìn)行。在我作為系統(tǒng)管理員的整個(gè)過(guò)程中,遷移一直是我從事的一些最耗時(shí)的任務(wù)。本指南的目的是讓您受益于我的經(jīng)驗(yàn),以便您了解可能遇到的問(wèn)題類型,以及如何最好地先發(fā)制人地避免這些問(wèn)題。
cPanel 具有出色的遷移工具,本指南的范圍適用于從一個(gè) cPanel 環(huán)境遷移到另一個(gè)環(huán)境的用戶,但是這里的許多一般原則適用于任何服務(wù)器遷移。
我會(huì)將您的遷移分為幾個(gè)階段:
- 計(jì)劃?– 這是您在遷移開始準(zhǔn)備之前要做的事情。
- 準(zhǔn)備?- 這是您在遷移之前(當(dāng)天)所做的事情。
- 遷移?——這是遷移數(shù)據(jù)的實(shí)際過(guò)程。
- 總結(jié)?——清理一切以完成過(guò)渡。
cPanel 的遷移工具
cPanel 包含用于備份每個(gè)用戶帳戶擁有的大部分信息的工具,包括:
-
- 主目錄(所有用戶的文件
- 用戶的電子郵件文件通常位于主目錄內(nèi)的 Maildir 文件夾中。
- 主目錄(所有用戶的文件
- MySQL 數(shù)據(jù)庫(kù)
- 電子郵件帳戶
- 電子郵件轉(zhuǎn)發(fā)器和過(guò)濾器
- · WHM設(shè)置
- · 易阿帕奇
不幸的是,并非 WHM 中的所有配置和模塊都有簡(jiǎn)單的遷移路徑。如果您的服務(wù)器上有很多自定義項(xiàng),最好計(jì)劃手動(dòng)審核并確定您可能需要在新服務(wù)器上配置什么。如果您在使用舊服務(wù)器的整個(gè)過(guò)程中對(duì) WHM 進(jìn)行了相對(duì)較少的更改,則很可能沒(méi)有什么特別需要關(guān)注的。
規(guī)劃
在考慮遷移過(guò)程時(shí),應(yīng)查看這些步驟和注意事項(xiàng)。大部分計(jì)劃可以在您訂購(gòu)您計(jì)劃遷移到的新服務(wù)器之前完成。
-
清理未使用的數(shù)據(jù)
幾乎沒(méi)有理由浪費(fèi)時(shí)間和精力來(lái)遷移以前客戶的帳戶、已失效的項(xiàng)目或其他不再使用的網(wǎng)站。因此,在您開始遷移過(guò)程之前,值得花一些時(shí)間查看您的帳戶列表,看看是否有任何可以消除的東西。
此外,查看較大的帳戶并了解它們?yōu)楹稳绱酥笠彩且粋€(gè)好習(xí)慣。您可能會(huì)發(fā)現(xiàn)大型無(wú)用文件夾,其中包含您可能不需要遷移到新服務(wù)器的舊備份等內(nèi)容。
您可以消除的任何事情都將減少遷移所需的時(shí)間,并確保您以最佳方式使用新的服務(wù)器資源。
-
考慮 IP 地址更改
在遷移到新服務(wù)器時(shí),在很多情況下您可能需要更改當(dāng)前使用的 IP 地址。如果您有任何網(wǎng)站使用一個(gè)這樣的 IP 地址,則它們?cè)谶w移時(shí)需要更改 IP。如果您的名稱服務(wù)器使用需要更改的 IP,則需要在遷移時(shí)更新其 GLUE 記錄。
在 GigeNET 和許多其他提供商處,您的服務(wù)器的主 IP 地址與插槽位置相關(guān)聯(lián),因此如果您遷移到新硬件,則需要更改。但是,在大多數(shù)情況下,只要新服務(wù)器與舊服務(wù)器位于同一位置,我們就可以協(xié)助重新路由您的路由 IP 分配。
通過(guò)在服務(wù)器遷移期間不更改 IP 或預(yù)先將其更改為可路由 IP,可以使用此策略來(lái)節(jié)省時(shí)間。如果您提前計(jì)劃,您可能會(huì)在將服務(wù)器遷移到您可以輕松移動(dòng)的 IP 之前更改您網(wǎng)站的 IP。
如果您知道需要更改 IP 地址,請(qǐng)查看您的所有網(wǎng)站的 DNS 托管位置。如果您的網(wǎng)站正在使用第三方 DNS 服務(wù)(某些代理服務(wù),如 CloudFlare 也會(huì)默認(rèn)設(shè)置此服務(wù)),對(duì)這些網(wǎng)站的 IP 地址的任何更改都需要與有權(quán)訪問(wèn)這些服務(wù)的人協(xié)調(diào)。否則,您將需要事先訪問(wèn)它們。
如果您要更改 IP 地址,最好提前降低 DNS 記錄的 TTL。TTL 或生存時(shí)間是一個(gè)值,它確定 Internet 周圍的 DNS 服務(wù)器將記住(或緩存)存儲(chǔ)在特定 DNS 記錄中的信息的時(shí)間。提前降低此值可以加快 DNS 傳播速度。
-
考慮軟件版本更改
在遷移到新服務(wù)器時(shí),您可能會(huì)在安裝了新操作系統(tǒng)的服務(wù)器上開店。因此,很可能該服務(wù)器將運(yùn)行最新版本的可用軟件。您的舊服務(wù)器可能沒(méi)有。
- · APACHE 版本
- · PHP 版本
- 如果您當(dāng)前運(yùn)行的 Apache 版本早于 2.4,則更新到 2.4 可能會(huì)破壞某些 .htaccess 規(guī)則。您應(yīng)該事先了解這一點(diǎn),以便確保您知道需要修復(fù)的內(nèi)容。如果在存在不兼容的 .htaccess 規(guī)則的情況下執(zhí)行此升級(jí),您可能會(huì)發(fā)現(xiàn)自己稍后會(huì)在受影響的網(wǎng)站上追蹤 500 個(gè)內(nèi)部服務(wù)器錯(cuò)誤。
- 考慮您的選擇:
-
- 您可以升級(jí)網(wǎng)站的代碼以與新版本的 PHP 兼容。理想情況下,這就是您想要做的。但是,這可能會(huì)很耗時(shí),并且超出了您的托管服務(wù)提供商的支持范圍。您可能需要向開發(fā)人員尋求幫助。
- 如果您的網(wǎng)站是流行的網(wǎng)絡(luò)應(yīng)用程序,例如 WordPress、Joomla 或類似的東西;考慮升級(jí)到最新版本,因?yàn)檫@些應(yīng)用程序的最新版本通常支持新版本的 PHP。這是一個(gè)很好的安全實(shí)踐,無(wú)論如何你都應(yīng)該這樣做。
- 如果您需要運(yùn)行舊版本的 PHP,可以通過(guò) CloudLinux 的 HardenedPHP 功能安全地執(zhí)行此操作。
- CloudLinux 不是免費(fèi)的,因此如果您不打算更新受影響的網(wǎng)站,請(qǐng)將其視為新服務(wù)器運(yùn)營(yíng)成本的一部分。
-
準(zhǔn)備
這些步驟應(yīng)在開始遷移之前執(zhí)行,但在遷移之前相對(duì)較早(理想情況下)。
- 檢查 DNS TTL
在規(guī)劃階段查看上述信息中的任何注釋。如果您要更改任何 IP 地址,您是否記得降低 DNS 記錄上的 TTL 以加快傳播速度?
- 維護(hù)模式
盡可能將任何網(wǎng)站置于只讀或維護(hù)模式。遷移不是即時(shí)的,在您開始從舊服務(wù)器復(fù)制數(shù)據(jù)和站點(diǎn)在新服務(wù)器上運(yùn)行之間會(huì)有一些滯后時(shí)間。在此期間,您的訪問(wèn)者仍會(huì)從舊服務(wù)器上看到該網(wǎng)站。
如果在此時(shí)間窗口內(nèi)進(jìn)行了更改,則可能會(huì)丟失,因?yàn)閭鬏斠呀?jīng)開始。為了解決這個(gè)問(wèn)題和其他問(wèn)題,可以將許多流行的 Web 應(yīng)用程序置于“維護(hù)模式”。這可以防止您的訪問(wèn)者對(duì)網(wǎng)站的動(dòng)態(tài)方面進(jìn)行更改。
如果您不打算這樣做,請(qǐng)仔細(xì)考慮后果,因?yàn)樗鼈兛赡苓m用于您的網(wǎng)站:
- 在遷移期間,博客可能會(huì)丟失訪問(wèn)者發(fā)布的評(píng)論。
- 論壇可能會(huì)丟失遷移期間發(fā)布的帖子。
- 電子商務(wù)店面可能會(huì)丟失有關(guān)遷移期間下達(dá)的訂單的信息。
- 防止遺漏電子郵件
如果在遷移期間在舊服務(wù)器上收到電子郵件,它們將被傳遞到舊服務(wù)器上的郵箱,但可能永遠(yuǎn)沒(méi)有機(jī)會(huì)被復(fù)制到新服務(wù)器。解決此問(wèn)題的簡(jiǎn)單方法是禁用當(dāng)您開始遷移時(shí),舊服務(wù)器上的 Exim 郵件服務(wù)器。如果有人在此期間嘗試向您服務(wù)器上的某人發(fā)送電子郵件,他們的郵件服務(wù)器將檢測(cè)到連接失敗并稍后重試。
在大多數(shù)情況下,這會(huì)導(dǎo)致電子郵件在新服務(wù)器上線后延遲發(fā)送到新服務(wù)器。如果您未在發(fā)件人郵件服務(wù)器上配置的重試時(shí)間之前完成遷移,則發(fā)件人將收到退回郵件并且電子郵件將不會(huì)送達(dá)。任何一種情況都比將電子郵件靜默發(fā)送到舊郵箱但用戶從未見過(guò)要好。
移民
這部分過(guò)程將是最耗時(shí)的,但需要您的互動(dòng)很少!
遷移 cPanel 帳戶通常使用兩種技術(shù):
- WHM 轉(zhuǎn)移工具
WHM 轉(zhuǎn)移工具為在服務(wù)器之間遷移帳戶提供了一個(gè)簡(jiǎn)單的圖形界面。如果您自己進(jìn)行遷移而服務(wù)器管理經(jīng)驗(yàn)相對(duì)較少,這可能是您的首選方法。該工具有據(jù)可查,因此我不會(huì)在這里詳細(xì)介紹。有關(guān)該工具的詳細(xì)信息,您可以查閱此文檔:https ://documentation.cpanel.net/display/68Docs/Transfer+Tool
- 想要對(duì)遷移進(jìn)行更多控制的腳本化遷移
服務(wù)器管理員可以選擇手動(dòng)遷移帳戶或使用基本腳本遷移帳戶。cPanel 包含的腳本可用于遷移單個(gè)帳戶,如下所示:
/scripts/pkgacct username ??< 打包username的賬號(hào)。
/scripts/restorepkg /path/to/package.tar.gz???< 恢復(fù)package.tar.gz中的賬號(hào)
使用這些腳本,創(chuàng)建一個(gè)腳本來(lái)打包所有帳戶相對(duì)簡(jiǎn)單。你可以在 Bash 中使用一個(gè)簡(jiǎn)單的 for 循環(huán)來(lái)做到這一點(diǎn),如下所示:
for i in $(cat users.txt); do /scripts/pkgacct $i; done
要使上述操作生效,您確實(shí)需要?jiǎng)?chuàng)建一個(gè)users.txt文件,其中包含您希望遷移的所有 cPanel 用戶名的列表。
如果您在打包帳戶時(shí)遇到困難,可以查閱有關(guān)此腳本的 cPanel 文檔。
pkgacct 腳本支持多種選項(xiàng),例如跳過(guò)數(shù)據(jù)庫(kù)、跳過(guò)主目錄和切換存檔壓縮。這些可以在特殊情況下派上用場(chǎng),例如擁有大量 MySQL 數(shù)據(jù)庫(kù)或主文件夾的帳戶。在這些情況下,您可能希望 cPanel 不將這些文件捆綁在一起,因?yàn)樗鼤?huì)遇到問(wèn)題、花費(fèi)很長(zhǎng)時(shí)間或創(chuàng)建大量存檔;在這些情況下,您可以選擇使用其他方式自己轉(zhuǎn)移它們。
創(chuàng)建備份包后,您可以使用 scp、sftp 或 rsync 等傳輸工具將它們傳輸?shù)叫路?wù)器。
可以使用相同的方法來(lái)恢復(fù)包。就像是:
for i in $(ls -1 cpmove*.tar.gz); do /scripts/restorepkg $i; done
通常,WHM 遷移工具是大多數(shù)用戶完成遷移的首選方式。腳本化遷移技術(shù)在您需要更多控制或需要能夠?qū)w移腳本創(chuàng)建的任何錯(cuò)誤進(jìn)行故障排除的情況下很有幫助。
包起來(lái)
為所有帳戶完成上述遷移步驟后,最好在將活動(dòng)站點(diǎn)切換到新服務(wù)器之前盡快測(cè)試所有網(wǎng)站。如果網(wǎng)站配置了新的 IP 地址,您可以通過(guò)編輯主機(jī)文件在計(jì)算機(jī)上本地覆蓋 DNS。通過(guò)這種方式,您可以在瀏覽器中訪問(wèn)這些網(wǎng)站,并查看它們?cè)谛路?wù)器上的外觀,然后再讓它們?yōu)樗腥朔?wù)。如果您需要有關(guān)此步驟的幫助,您可能會(huì)發(fā)現(xiàn)本指南很有用。
一旦您決定準(zhǔn)備在新服務(wù)器上啟用這些站點(diǎn),請(qǐng)繼續(xù)更新所有剩余的 DNS 條目,以將域指向新服務(wù)器。如果您有從舊服務(wù)器路由到新服務(wù)器的 IP 地址,請(qǐng)繼續(xù)。
手動(dòng)檢查您的 DNS 區(qū)域以確保所有內(nèi)容都已清理是個(gè)好主意。確保 DNS 區(qū)域中仍然不存在對(duì)舊 IP 地址的引用,并根據(jù)需要進(jìn)行相應(yīng)更新。此外,如果您降低了 TTL 時(shí)間,您可以利用這段時(shí)間將它們恢復(fù)到更高的值。這不是必需的,但被認(rèn)為是一種很好的做法,可以減少 DNS 服務(wù)器的查詢負(fù)載。
一旦您認(rèn)為新服務(wù)器上的所有內(nèi)容都已存在,最好完全關(guān)閉舊服務(wù)器的電源。在您確定一切在新服務(wù)器上完全正確運(yùn)行之前,不要繼續(xù)與您的托管服務(wù)提供商取消舊服務(wù)器。在我從事的遷移過(guò)程中,有很多次我們?cè)诖瞬襟E中發(fā)現(xiàn)了一些驚喜,并且客戶意識(shí)到有些事情并沒(méi)有真正指向新服務(wù)器。所以,這樣做是個(gè)好主意,因?yàn)樗苋菀谆謴?fù)(只需重新打開服務(wù)器),并且可以幫助您快速找到任何疏忽,以便您可以修復(fù)它們。當(dāng)您感覺(jué)舒適時(shí),您可以繼續(xù)取消舊服務(wù)器。?恭喜,您已成功完成遷移!